home *** CD-ROM | disk | FTP | other *** search
/ Aminet 49 / Aminet 49 (2002)(GTI - Schatztruhe)[!][Jun 2002].iso / Aminet / util / virus / VirusZ.lha / VirusZ / VirusZ.doc < prev    next >
Text File  |  2002-04-01  |  24KB  |  549 lines

  1. *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
  2. =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  3. *=                                                                        *=
  4. =*                     VirusZ III 0.99 Documentation                      =*
  5. *=                   Copyright © 2002 by Georg Hörmann                    *=
  6. =*                                                                        =*
  7. *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
  8. =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  9. Last updated: 01-Apr-2002
  10.  
  11. ----------------------------------------------------------------------------
  12.                                 LEGAL STUFF
  13. ----------------------------------------------------------------------------
  14.  
  15. The  VirusZ  software  package is FREEWARE and copyright © 1991-1999/2002 by
  16. Georg Hörmann and © 1999-2001 by Dirk Stöcker.
  17.  
  18. No parts of this package may be altered by any means (this includes editing,
  19. reprogramming, crunching, resourcing etc.), except archiving.  The author is
  20. in  no  way  liable  for  any  changes  made  to any part of the package, or
  21. consequences  thereof  as he is in no way liable for damages or loss of data
  22. directly or indirectly caused by this software.
  23.  
  24. Neither  fees  may  be  charged nor profits may be made by distributing this
  25. software package.  Outside a single machine environment, you are not allowed
  26. to  reproduce  single  parts  of  the  package,  but  you  have  to  copy it
  27. completely.
  28.  
  29. ----------------------------------------------------------------------------
  30.                              CONTACT ADDRESSES
  31. ----------------------------------------------------------------------------
  32.  
  33. For  comments, bug reports, vector check snapshots or if you have found some
  34. new virus, contact the author at the following addresses:
  35.  
  36. snail-mail: Georg Hörmann
  37.             Martinswinkelstraße 16c
  38.             82467 Garmisch-Partenkirchen
  39.             Germany
  40.  
  41. e-mail:     ghoermann@gmx.de
  42.             ghoermann@epost.de
  43.  
  44. You  will  always find the latest updates of VirusZ and related files in the
  45. Aminet (util/virus) or at the following places:
  46.  
  47. Virus Help Team Denmark homepage:   www.vht-dk.dk
  48. Dirk Stöcker's homepage:            www.dstoecker.de
  49.  
  50. ----------------------------------------------------------------------------
  51.                             SYSTEM REQUIREMENTS
  52. ----------------------------------------------------------------------------
  53.  
  54. VirusZ will run on any (emulated or real) Amiga that comes with AmigaOS 2.04
  55. (Kickstart v37) or better.  The following disk-based libraries are required:
  56.  
  57. - commodities.library v37+ (part of AmigaOS)
  58. - rexxsyslib.library v33+ (part of AmigaOS, for ARexx features)
  59. - reqtools.library v38+
  60. - xfdmaster.library v37+
  61. - xvs.library v33+
  62. - xadmaster.library v3+ (optional, for scanning inside archives)
  63. - disassembler.library v40+ (optional, for disassembling bootblocks/memory)
  64.  
  65. None  of  these  libraries  will  be distributed with the VirusZ package any
  66. longer (because of copyright reasons and the exploding size of the archive),
  67. get them from Aminet or the homepages mentioned above.
  68.  
  69. ATTENTION:
  70. I  received  bug  reports saying that VirusZ crashes immediately at startup.
  71. These crashes only happen when both disassembler.library and mmu.library are
  72. installed  in your 'libs:' drawer, but mmu.library setup is not correct.  In
  73. those  cases, either set up your mmu.library environment correctly (read the
  74. manuals),  or delete/rename mmu.library, so that disassembler.library cannot
  75. find it at startup.
  76. Thanks to Harry Sintonen for finding this 'bug' and its solution.
  77.  
  78. ----------------------------------------------------------------------------
  79.                                 INSTALLATION
  80. ----------------------------------------------------------------------------
  81.  
  82. Installing  VirusZ  is  nothing  more  than either dragging the icon to your
  83. WBStartup drawer or adding the following line to your 'S:User-Startup' file:
  84.  
  85. [Path]VirusZ [Option(s)]
  86.  
  87. To  make sure that you have received an original version of VirusZ and not a
  88. fake, you can use my PGP key added at the end of this documentation together
  89. with  the  signatures  included in the archive to verify the files.  You can
  90. also  download  a  100% safe copy of my PGP key from the homepages mentioned
  91. above.
  92.  
  93. Additionally,  you should compare the file size of your VirusZ copy with the
  94. one  displayed  in the 'Technical Info' information.  They MUST match if you
  95. didn't crunch VirusZ yourself.
  96.  
  97. ----------------------------------------------------------------------------
  98.                                SHELL TEMPLATE
  99. ----------------------------------------------------------------------------
  100.  
  101. VirusZ currently supports the following Shell template:
  102.  
  103. CX_PRIORITY/N/K,CX_POPKEY/K,CX_POPUP/K,PUBSCREEN/K,AREXX/K,QUIT/S
  104.  
  105. For more detailed information about Shell syntax, commodity usage and hotkey
  106. definitions, please consult the manuals shipped with your Amiga.
  107.  
  108. Please note that the ARexx interface commands described below require VirusZ
  109. to  be  active already.  If it is not, it will first be started, the starter
  110. process  will  wait  until  the ARexx port appears and then the commands are
  111. sent to the port.
  112.  
  113. CX_PRIORITY:
  114. Specifies  the commodity priority of VirusZ's broker.  Values may range from
  115. -128 to 127, default is 0.
  116.  
  117. CX_POPKEY:
  118. Defines the hotkey used to pop up the main window.
  119.  
  120. CX_POPUP:
  121. Tells VirusZ whether to pop up on startup or not.
  122.  
  123. PUBSCREEN:
  124. Tells VirusZ to open its windows on the defined public screen instead of the
  125. Workbench screen.
  126.  
  127. AREXX:
  128. The  argument  given  to this option will be directly sent to VirusZ's ARexx
  129. port  as  a  command and the return code in the Shell will correspond to the
  130. return code of the ARexx command.
  131.  
  132. QUIT:
  133. Sends the ARexx command "QUIT" to an already running copy of VirusZ and thus
  134. terminates it.
  135.  
  136. ----------------------------------------------------------------------------
  137.                                ICON TOOLTYPES
  138. ----------------------------------------------------------------------------
  139.  
  140. For  more  detailed  information about tooltypes, commodity usage and hotkey
  141. definitions, please consult the manuals shipped with your Amiga.
  142.  
  143. VirusZ currently supports the following tooltypes:
  144.  
  145. CX_PRIORITY:
  146. Specifies  the commodity priority of VirusZ's broker.  Values may range from
  147. -128 to 127, default is 0.
  148.  
  149. CX_POPKEY:
  150. Defines the hotkey used to pop up the main window.
  151.  
  152. CX_POPUP:
  153. Tells VirusZ whether to pop up on startup or not.
  154.  
  155. PUBSCREEN:
  156. Tells VirusZ to open its windows on the defined public screen instead of the
  157. Workbench.
  158.  
  159. ----------------------------------------------------------------------------
  160.                                AREXX COMMANDS
  161. ----------------------------------------------------------------------------
  162.  
  163. VirusZ  has an ARexx port called 'VIRUSZ_III.REXX' that currently offers the
  164. following commands:
  165.  
  166. HIDE:
  167. This  command makes VirusZ close its main window and work in the background.
  168. To get the interface back you have to use the defined hotkey or the Exchange
  169. utility.
  170.  
  171. QUIT:
  172. This command terminates VirusZ.
  173.  
  174. As  you  can  see,  there  are  no really useful commands implemented at the
  175. moment  that might help you with virus scanning.  This will certainly change
  176. in the future.
  177.  
  178. ----------------------------------------------------------------------------
  179.                    PROGRAM STARTUP & SYSTEM SURVEILLANCE
  180. ----------------------------------------------------------------------------
  181.  
  182. VirusZ will perform a system scan at startup-time and afterwards survey your
  183. computer  for  suspicious  activities  regularly.   You can tell VirusZ what
  184. exactly  should  happen on startup via the 'Startup' preferences and control
  185. the surveillance mode via the 'Surveillance' preferences.
  186.  
  187. The following options appear in the 'Startup' preferences only:
  188.  
  189. 'Perform Self-Test':
  190. If  enabled, the hunk structure of VirusZ will be checked.  An alert appears
  191. if there is something wrong (might be a link virus).  Disable this option if
  192. you  intend to crunch VirusZ with a file packer because most of these modify
  193. the hunks.
  194.  
  195. 'Load Bootblock Brain':
  196. If  this option is enabled, the default bootblock brain (see 'Bootblock Lab'
  197. preferences) will be loaded automatically.
  198.  
  199. 'Pop Up Main Window':
  200. If enabled, VirusZ opens the main window, otherwise it can be controlled via
  201. the Exchange commodity or the ARexx port only.
  202.  
  203. 'Activate Main Window':
  204. This  option  tells  VirusZ to activate the main window.  This is useful for
  205. all  users that don't have VirusZ running in the background all the time and
  206. want to start a scan without activating the window by-hand first.
  207.  
  208. The  following  options  appear in both the 'Startup' and the 'Surveillance'
  209. preferences (introduced by 'Check...' or 'Survey...'):
  210.  
  211. '...ColdCapture/CoolCapture/KickTags':
  212. System pointers used by viruses (but also by useful utilities) to keep their
  213. code  reset  resistant.   Only disable these options if you really know what
  214. you are doing.
  215.  
  216. '...CPU Interrupts/Exec Interrupts/Library Vectors/Process Fields':
  217. Other  system pointers often used by viruses.  Please note that also lots of
  218. harmless utilities use them, not every alert that VirusZ will send you means
  219. there's a new virus in your system.
  220.  
  221. '...Bootblocks':
  222. This  will  scan the bootblocks of all available disks, newly inserted disks
  223. are detected if surveillance is activated.
  224.  
  225. '...Disk-Validators':
  226. Scans all disk-validator files found in L: drawer of any inserted disk.
  227.  
  228. ----------------------------------------------------------------------------
  229.                    GENERAL INFORMATION ABOUT PREFERENCES
  230. ----------------------------------------------------------------------------
  231.  
  232. VirusZ   uses   the  standard  AmigaOS  method  to  store/save  preferences.
  233. Therefore  the drawer 'VirusZ_III' will be created in your ENVARC:  and ENV:
  234. drawers.   You  can save the current settings, restore or load settings with
  235. the corresponding menu items in the 'Preferences' menu of VirusZ.
  236.  
  237. Additionally, whenever you save your preferences, the positions and sizes of
  238. all  VirusZ  windows  will  be  stored/saved  too.   This means that you can
  239. arrange  all  windows  just  as  you like them, they will appear in the same
  240. positions the next time you start VirusZ.
  241.  
  242. Settings that affect either VirusZ in general or influence several functions
  243. can be found in 'Miscellaneous' preferences:
  244.  
  245. 'Requesters Follow Mouse':
  246. If  enabled, all ReqTools requesters appear with the negative response under
  247. the mouse pointer.  If disabled, they pop up in the top left corner.
  248.  
  249. 'Close Main Window = Exit':
  250. If  enabled,  VirusZ  quits when you click on the close-window button of the
  251. main  window,  otherwise it will act as if you selected the 'Hide' item from
  252. the 'Project' menu.
  253.  
  254. 'Quit Immediately':
  255. If enabled, VirusZ quits without verification.
  256.  
  257. 'Report Known Bootblocks':
  258. Usually,  bootblocks  recognized  by  the brain are not reported (that's the
  259. main  purpose of the whole brain system).  But it may sometimes be useful to
  260. get  those  already  known  bootblocks  reported  anyway.  If this option is
  261. enabled, that's excactly what will happen.
  262.  
  263. 'Install SnoopDos Task':
  264. If  enabled,  a task called 'SnoopDos' will be created which doesn't use any
  265. processor time, but prevents several trojans from doing any harm.
  266.  
  267. 'Center Main Window':
  268. If  enabled,  VirusZ's main window appears centered at the top border of the
  269. screen.  Otherwise it will use the coordinates that have been last saved.
  270.  
  271. 'Center Other Windows':
  272. If  enabled,  all  VirusZ  windows appear centered on the screen.  Otherwise
  273. they will use the coordinates that have been last saved.
  274.  
  275. 'Hotkey':
  276. The default commodity hotkey used to pop up the main window.
  277.  
  278. ----------------------------------------------------------------------------
  279.                                  FILE CHECK
  280. ----------------------------------------------------------------------------
  281.  
  282. You  can start checking files at any time by selecting 'File Check' from the
  283. 'Project' menu.  A file-request will appear where you select the files to be
  284. checked.
  285.  
  286. The following settings can be adjusted in the 'File Check' preferences:
  287.  
  288. 'Interactive Mode/Auto-Kill Viruses/Test-Only Mode':
  289. Selects VirusZ's reaction whenever a virus has been found.  Interactive mode
  290. is  recommended, test-only mode is useful if you want to scan a big harddisk
  291. and  just view the results afterwards.  Currently not really useful, because
  292. the reports cannot be saved yet!
  293.  
  294. 'Skip Subdirectories':
  295. Enable this option to skip any drawers that may exist in a selected drawer.
  296.  
  297. 'Short Reportform':
  298. Forces VirusZ III to create an output similar to the old one in VirusZ II.
  299.  
  300. 'History Size':
  301. The  amount  of output lines VirusZ should remember.  You can scroll back to
  302. review the checking results then.
  303.  
  304. 'Decrunch Executables':
  305. If  this  option  is  enabled, the file check decrunches executable files in
  306. order  to  check  them for viruses.
  307. ATTENTION:   Keep this option enabled as often as possible.  VirusZ can only
  308. detect ALL viruses if the file is totally decrunched.
  309.  
  310. 'Decrunch Data Files':
  311. If this option is enabled, the file check reads and decrunches data files in
  312. order  to  check  them.  This is useful for data files that actually contain
  313. executables, eg. XPK packed files.
  314.  
  315. 'Skip Crypted Files':
  316. If  this flag is set, VirusZ will not ask you for passwords or keys if there
  317. appears  a  crypted  file.  This might be useful if you have protected these
  318. files  yourself  and know that there are no viruses in them.  You don't have
  319. to respond to all the requesters then.
  320.  
  321. 'Don't Use Any External Slaves/Use External Exec Slaves Only/
  322. Use All External Slaves':
  323. These options control which external slaves of xfdmaster.library are allowed
  324. for decrunching files.  Usually, you should allow exec slaves to ensure that
  325. really  all  executables  get  decrunched, only if some badly coded external
  326. slaves crash your system, you can switch them off completely.
  327.  
  328. 'Extract Archives':
  329. This option makes VirusZ scan inside any archives that can be recognized and
  330. extracted by the (optionally) installed xadmaster.library.
  331.  
  332. ----------------------------------------------------------------------------
  333.                                 SECTOR CHECK
  334. ----------------------------------------------------------------------------
  335.  
  336. You  can start checking disk sectors at any time by selecting 'Sector Check'
  337. from the 'Project' menu.  A device selector will appear where you select the
  338. device to be checked.  Use the 'Refresh' button to update the device list if
  339. you have mounted new devices lately.
  340.  
  341. SORRY, THE SECTOR CHECK ITSELF IS NOT IMPLEMENTED YET !!
  342.  
  343. ----------------------------------------------------------------------------
  344.                                BOOTBLOCK LAB
  345. ----------------------------------------------------------------------------
  346.  
  347. The  bootblock lab offers all bootblock-related functions that are necessary
  348. to fight bootblock viruses and some more extras.
  349.  
  350. ATTENTION:  Be careful with writing to / installing your harddisks.  I'm not
  351. reliable for your faults.
  352.  
  353. There  are  two  cycle gadgets in the bootblock lab, one on each side of the
  354. status  line.   The  left  one selects the device you want to work with, the
  355. right  one  selects  the  display mode (ascii dump, hex dump or disassembler
  356. mode if disassembler.library is installed).
  357.  
  358. Some words about the disassembler output:
  359. The  default  output  format  of disassembler.library is not very usable for
  360. looking  at  bootblocks as it shows the 32-bit addresses where the bootblock
  361. is  really located in memory and all pc-relative instructions point at those
  362. addresses  too.   So  I  decided  to  modify the output internally to 16-bit
  363. format  with  bootblock  addresses  from  $0000  to  $03ff.  All pc-relative
  364. instructions  appear that way, the ones pointing outside the bootblock range
  365. are  marked as *-$0xxx or *+$0xxx, where * means either the start or the end
  366. of the bootblock.  Locations outside a range of +/- 1kB around the bootblock
  367. nevertheless appear with their original 32-bit address.
  368.  
  369. Whenever  there  occurs an error, this will be displayed in the status line.
  370. Then  the  name  of the current bootblock in the buffer will be overwritten.
  371. By clicking on the 'Name' gadget, the name is printed again.
  372.  
  373. Functions offered via the bootblock lab gadgets:
  374.  
  375. 'Read':
  376. Reads  the bootblock from the currently selected device to the buffer.  Only
  377. DOS disks can be read.
  378.  
  379. 'Write':
  380. Writes  the current buffer contents to the bootblock of the selected device.
  381. The disk type and the checksum will be corrected automatically.
  382.  
  383. 'Install':
  384. Installs  a  standard AmigaOS 2.04 bootblock or an uninstalled bootblock (if
  385. selected  in  the  'Bootblock  Lab'  preferences)  to the currently selected
  386. device.  The disk type will be corrected automatically.
  387.  
  388. 'Load':
  389. Opens a file request to select a bootblock file that should be loaded to the
  390. buffer.   Only DOS bootblocks can be loaded.  You can use this function with
  391. ADF files and similar disk images too, only the bootblock will be loaded.
  392.  
  393. 'Save':
  394. Saves  the  current  buffer  contents  to  a file.  This is useful to backup
  395. important bootblocks of games etc.
  396.  
  397. 'Learn':
  398. This gadget will only be enabled if the bootblock in the buffer is neither a
  399. virus nor any other known bootblock.  Then you are able to make VirusZ learn
  400. the  unknown bootblock and give it a name.  From now on, this bootblock will
  401. be  reported  with  the  given  name and the background check will no longer
  402. report it as unknown.
  403.  
  404. Functions offered via the bootblock lab menus:
  405.  
  406. 'Brain/New Brain':
  407. Removes the currently loaded brain from memory.
  408.  
  409. 'Brain/Load Brain':
  410. Loads a new brain file from disk to memory.
  411.  
  412. 'Brain/Save Brain':
  413. Saves brain changes to file.
  414.  
  415. 'Brain/Merge Brains':
  416. Adds brain cells from a file to the currently loaded brain.
  417.  
  418. 'Brain/Edit Brain':
  419. Here you can rename or delete brain cells.
  420.  
  421. 'Misc/Refresh Devices':
  422. VirusZ  is  unfortunately  not able to detect devices that have been mounted
  423. after  startup  automatically.  If you want to check such a device, you have
  424. to refresh the device list with this function.
  425.  
  426. The  bootblock  lab  offers  the  following  settings in the 'Bootblock Lab'
  427. preferences:
  428.  
  429. 'Ask Before Write Access':
  430. If  enabled,  a  security  request  pops up every time you select 'Write' or
  431. 'Install' in the bootblock lab.
  432.  
  433. 'Read Inserted Disks':
  434. This  enables  the  bootblock  lab  to read the bootblocks of inserted disks
  435. automatically.   Useful  if  you  intend  to  check a whole box of disks for
  436. bootblock viruses.
  437.  
  438. 'Install Non-Bootable BB':
  439. If  enabled,  'Install'  doesn't install a standard bootblock, but makes the
  440. disk non-bootable.
  441.  
  442. 'Brain':
  443. The  path and filename of the default bootblock brain.  This will be used in
  444. the  file requests of the bootblock lab and for loading the brain at startup
  445. (see 'Startup' preferences).
  446.  
  447. ----------------------------------------------------------------------------
  448.                                 VECTOR CHECK
  449. ----------------------------------------------------------------------------
  450.  
  451. Mostly  all  viruses  work  in the same manner.  Either they make themselves
  452. resident   and/or  corrupt  some  libraries  or  devices  with  their  code.
  453. Therefore the vector check was designed to help you finding new viruses that
  454. can't be recognized directly by the xvs.library yet.
  455.  
  456. It  will  display  all  system  vectors that are not zero or do not point to
  457. standard  ROM  locations  and  tell  you  whether  the changes are caused by
  458. utilities  already  known  or  by  something  unknown.   But  this  will not
  459. necessarily mean that every vector marked 'SUSPICIOUS' is corrupted by a new
  460. virus,  there are lots of system enhancers and other tools around that cause
  461. such changes.
  462.  
  463. You  should  nevertheless  be  alarmed  if you are sure that you didn't have
  464. installed  any  programs  that  change  vectors  and suddenly something gets
  465. reported by VirusZ.
  466.  
  467. You might have installed a lot of patches that already get reported by name,
  468. and the output is awfully long, then you can disable the displaying of known
  469. patches in the 'Vector Check' preferences.
  470.  
  471. You  can  also  select  every  single  line of the vector check report.  The
  472. following  functions  are  offered  depending  if they can be applied on the
  473. selected line or not:
  474.  
  475. 'Monitor':
  476. Starts  the memory monitor of VirusZ and supplies it with the address of the
  477. selected vector.
  478.  
  479. 'Snapshot':
  480. Creates  a  snapshot  of an unknown vector and saves it automatically to the
  481. 'Snapshot  Drawer' you have selected in the 'Vector Check' preferences.  You
  482. can send me all your snapshots and I will add them to the vector check.
  483. IMPORTANT:
  484. (a)  Do not snapshot the same vectors several times, this causes me a lot of
  485. work just for nothing!
  486. (b)  In  addition  to  your  snapshots, I need the program(s) that cause the
  487. unknown vector(s).  Snapshots without a program usually cannot be added!  So
  488. either send me the program (not its complete archive if possible) or tell me
  489. where  I  can  download  it  myself.  All the programs will be deleted after
  490. examination, so copyrights usually should not interfere with that method.
  491. (c) To find out which programs cause changes in your system, disable all the
  492. patches installed in your startup-sequence, user-startup or WBStartup drawer
  493. and  re-enable  them one by one.  Each time something new gets started, just
  494. have a look at the vector check.
  495.  
  496. 'Clear':
  497. Clears the selected vector.  Only use this if you know what you are doing!
  498.  
  499. 'Remove':
  500. Removes  a  single  element out of a system list.  Only use this if you know
  501. what you are doing!
  502.  
  503. ----------------------------------------------------------------------------
  504.                                MEMORY MONITOR
  505. ----------------------------------------------------------------------------
  506.  
  507. The  memory  monitor  has  been invented to allow experienced users to snoop
  508. around  in  RAM/ROM and have a look at suspicious vectors (directly from the
  509. vector  check or by entering the address).  It actually is of no use for the
  510. average user, so I will not explain it in detail.
  511.  
  512. Only  memory areas from exec's memlist can be monitored, plus Kickstart ROM.
  513. If you reach the start/end of an area, the memory monitor will automatically
  514. wrap around to the end/start of that area, so you can never access forbidden
  515. or non-existing addresses.
  516.  
  517. Some words about the disassembler mode:
  518. Due to major problems with the calculation of a sensible 'Line -' / 'Page -'
  519. address,  these  functions  will just step backwards 2 bytes / 32 bytes each
  520. time  they get executed.  Stepping forwards causes no problems, so this will
  521. work properly in all cases.
  522.  
  523. The  'Memory  Monitor'  preferences  currently  contain  only  one, but very
  524. important switch:
  525.  
  526. 'Chip-Ram Start Address = $00000000':
  527. If enabled, the memory monitor overrides the memlist entry for chip ram that
  528. usually  starts  at  location $00000400 and allows you to have a look at the
  529. cpu's vectortable.  This interferes with most debugging tools (eg.  MuForce)
  530. and  will  result  in  lots  of  annoying hits, so keep this option disabled
  531. unless you really need it.
  532.  
  533. !#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#
  534. #!                          END OF DOCUMENTATION                          #!
  535. !#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#
  536.  
  537. -----BEGIN PGP PUBLIC KEY BLOCK-----
  538. Version: PGPfreeware 5.0i for non-commercial use
  539.  
  540. mQCNAzuzvG4AAAEEAKbvwOuWJSNZHJyNommciVkVj98H+O32pP42OM20WHy3CMuG
  541. E2D2tSQwvkUZCBDMvdqYRDP7Jkfw+hHpbNAFls2x/ujMJ0u8FP7g2ivfg99W6cMp
  542. PX6OXgqImTAMcxp5az6mbemZ0K4+FBMfBmDWs+226/IOWu3fdGUOxNgKgx13AAUR
  543. tCFHZW9yZyBIb2VybWFubiA8Z2hvZXJtYW5uQGdteC5kZT6JAJUDBRA7s7xuZQ7E
  544. 2AqDHXcBAYghBACIpDzrTak/DA32mAJabo2D082o83MFTJTwSSft6k2VFY3jr2ia
  545. 2TckPkqEc0TKe24nQbhRZI6ehkMlJmKcsSmG38hwMXkIvEQc03jOv6dVmzqRPiR2
  546. 2Vtc7WnKdBh/FUbCmvuGqstEKonKrCfXKv8zBSp5wWVnlZKRhDUGsLyXlg==
  547. =hPFP
  548. -----END PGP PUBLIC KEY BLOCK-----
  549.